Important: kernel security and bug fix update

Related Vulnerabilities: CVE-2012-3412   CVE-2012-3412   CVE-2012-3412  

Synopsis

Important: kernel security and bug fix update

Type/Severity

Security Advisory: Important

Topic

Updated kernel packages that fix one security issue and several bugs are
now available for Red Hat Enterprise Linux 6.2 Extended Update Support.

The Red Hat Security Response Team has rated this update as having
important security impact. A Common Vulnerability Scoring System (CVSS)
base score, which gives a detailed severity rating, is available from the
CVE link in the References section.

Description

The kernel packages contain the Linux kernel, the core of any Linux
operating system.

This update fixes the following security issue:

  • A flaw was found in the way socket buffers (skb) requiring TSO (TCP
    segment offloading) were handled by the sfc driver. If the skb did not fit
    within the minimum-size of the transmission queue, the network card could
    repeatedly reset itself. A remote attacker could use this flaw to cause a
    denial of service. (CVE-2012-3412, Important)

Red Hat would like to thank Ben Hutchings of Solarflare (tm) for reporting
CVE-2012-3412.

This update also fixes the following bugs:

  • Previously, when a server attempted to shut down a socket, the
    svc_tcp_sendto() function set the XPT_CLOSE variable if the entire reply
    failed to be transmitted. However, before XPT_CLOSE could be acted upon,
    other threads could send further replies before the socket was really shut
    down. Consequently, data corruption could occur in the RPC record marker.
    With this update, send operations on a closed socket are stopped
    immediately, thus preventing this bug. (BZ#853256)
  • When a PIT (Programmable Interval Timer) MSB (Most Significant Byte)
    transition occurred very close to an SMI (System Management Interrupt)
    execution, the pit_verify_msb() function did not see the MSB transition.
    Consequently, the pit_expect_msb() function returned success incorrectly,
    eventually causing a large clock drift in the quick_pit_calibrate()
    function. As a result, the TSC (Time Stamp Counter) calibration on some
    systems was off by ± 20 MHz, which led to inaccurate timekeeping or ntp
    synchronization failures. This update fixes pit_expect_msb() and the clock
    drift no longer occurs in the described scenario. (BZ#853952)
  • Sometimes, the crypto allocation code could become unresponsive for 60
    seconds or multiples thereof due to an incorrect notification mechanism.
    This could cause applications, like Openswan, to become unresponsive. The
    notification mechanism has been improved to avoid such hangs. (BZ#854475)
  • Traffic to the NFS server could trigger a kernel oops in the
    svc_tcp_clear_pages() function. The source code has been modified, and the
    kernel oops no longer occurs in this scenario. (BZ#856105)
  • Under certain circumstances, a system crash could result in data loss on
    XFS file systems. If files were created immediately before the file system
    was left to idle for a long period of time and then the system crashed,
    those files could appear as zero-length once the file system was remounted.
    This occurred even if a sync or fsync was run on the files. This was
    because XFS was not correctly idling the journal, and therefore it
    incorrectly replayed the inode allocation transactions upon mounting after
    the system crash, which zeroed the file size. This problem has been fixed
    by re-instating the periodic journal idling logic to ensure that all
    metadata is flushed within 30 seconds of modification, and the journal is
    updated to prevent incorrect recovery operations from occurring.
    (BZ#856685)
  • On architectures with the 64-bit cputime_t type, it was possible to
    trigger the "divide by zero" error, namely, on long-lived processes. A
    patch has been applied to address this problem, and the "divide by zero"
    error no longer occurs under these circumstances. (BZ#856702)

Users should upgrade to these updated packages, which contain backported
patches to resolve these issues. The system must be rebooted for this
update to take effect.

Solution

Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/knowledge/articles/11258

To install kernel packages manually, use "rpm -ivh [package]". Do not
use "rpm -Uvh" as that will remove the running kernel binaries from
your system. You may use "rpm -e" to remove old kernels after
determining that the new kernel functions properly on your system.

Affected Products

  • Red Hat Enterprise Linux Server - Extended Update Support 6.2 x86_64
  • Red Hat Enterprise Linux Server - Extended Update Support 6.2 i386
  • Red Hat Enterprise Linux for IBM z Systems - Extended Update Support 6.2 s390x
  • Red Hat Enterprise Linux for Power, big endian - Extended Update Support 6.2 ppc64
  • Red Hat Enterprise Linux Server - Extended Update Support from RHUI 6.2 x86_64
  • Red Hat Enterprise Linux Server - Extended Update Support from RHUI 6.2 i386
  • Red Hat Storage 2.0 x86_64
  • Red Hat Gluster Storage Server for On-premise 2.0 x86_64
  • Red Hat Storage for Public Cloud (via RHUI) 2.0 x86_64
  • Red Hat Enterprise Linux Server - AUS 6.2 x86_64

Fixes

  • BZ - 844714 - CVE-2012-3412 kernel: sfc: potential remote denial of service through TCP MSS option

CVEs

References